﻿using System.Collections.Generic;
using System.Xml.Serialization;
namespace Protocol.SouthGridProtocol.Blocks
{
    /// <summary>
    /// 任务参数
    /// </summary>
    [XmlRoot("MissionParam")]
    public class MissionParam
    {
        //设置属性序列化为Xml子元素 有效性标志
        [XmlElement("EnableFlag")]
        public string EnableFlag { get; set; }

        //设置属性序列化为Xml子元素 上报基准时间：年月日时分
        [XmlElement("ReportTime")]
        public string ReportTime { get; set; }

        //设置属性序列化为Xml子元素 定时上报周期单位
        [XmlElement("ReportFrequencyUnit")]
        public string ReportFrequencyUnit { get; set; }

        //设置属性序列化为Xml子元素 定时上报周期
        [XmlElement("ReportFrequency")]
        public string ReportFrequency { get; set; }

        //设置属性序列化为Xml子元素 数据结构方式
        [XmlElement("Type")]
        public string Type { get; set; }

        //设置属性序列化为Xml子元素 采样基准时间：年月日时分
        [XmlElement("SimpleTime")]
        public string SimpleTime { get; set; }

        //设置属性序列化为Xml子元素 定时采样周期单位
        [XmlElement("SimpleFrequencyUnit")]
        public string SimpleFrequencyUnit { get; set; }

        //设置属性序列化为Xml子元素 定时采样周期
        [XmlElement("SimpleFrequency")]
        public string SimpleFrequency { get; set; }

        //设置属性序列化为Xml子元素 数据抽取倍率
        [XmlElement("Ratio")]
        public string Ratio { get; set; }

        //设置属性序列化为Xml子元素 执行次数
        [XmlElement("RunCount")]
        public string RunCount { get; set; }

        //设置属性序列化为Xml子元素 信息点标识组
        [XmlElement("Das")]
        public DaCollection Das { get; set; }

        //设置属性序列化为Xml子元素 数据标识编码组
        [XmlElement("Dis")]
        public DiCollection Dis { get; set; }
    }
    /// <summary>
    /// 信息点标识
    /// </summary>
    [XmlRoot("MissionDa")]
    public class MissionDa
    {
        //设置属性序列化为Xml子元素
        [XmlElement("Da")]
        public string Da { get; set; }
    }
    /// <summary>
    /// 数据标识编码 
    /// </summary>
    [XmlRoot("MissionDi")]
    public class MissionDi
    {
        //设置属性序列化为Xml子元素
        [XmlElement("Di")]
        public string Di { get; set; }
    }

    /// <summary>
    /// 信息点标识组
    /// </summary>
    //[XmlRoot("DaCollection")]
    public class DaCollection
    {
        [XmlArray("DaItems"), XmlArrayItem("DaItem")]
        public MissionDa[] missionDaArray { get; set; }
    }

    /// <summary>
    /// 数据标识编码组
    /// </summary>
    //[XmlRoot("DiCollection")]
    public class DiCollection
    {
        [XmlArray("DiItems"), XmlArrayItem("DiItem")]
        public MissionDi[] missionDiArray { get; set; }
    }
}
